home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (c) 1991 NeXT Computer, Inc. All rights reserved.
- *
- * FloppyCntPublic.h - Public API to Floppy Controller object (FloppyCnt).
- *
- * HISTORY
- * 09-Nov-92 Doug Mitchell at NeXT
- * Created.
- */
-
- #ifndef _BSD_DEV_FLOPPY_CNT_PUBLIC_H_
- #define _BSD_DEV_FLOPPY_CNT_PUBLIC_H_
-
- #import <bsd/dev/fd_extern.h>
- #import <driverkit/return.h>
- #import <objc/objc.h> /* for BOOL */
-
- /*
- * One per drive_type (in FloppyGlobals.c).
- */
- typedef struct {
- struct drive_info gen_drive_info; /* name, block length,
- * etc. */
- int seek_rate; /* in ms */
- int head_settle_time; /* ms */
- int head_unload_time; /* ms */
- BOOL is_perpendicular; /* perp. recording */
- BOOL do_precomp; /* precomp recording */
- } fdDriveInfo_t;
-
- /*
- * The sole exported method implemented by FloppyCnt.
- */
- @protocol FloppyControllerPublic
-
- - (IOReturn)fcCmdXfr : (fdIoReq_t *)fdIoReq
- driveInfo:(fdDriveInfo_t *)driveInfo;
-
- @end
-
- /*
- * Public routines shared between FloppyDisk and FloppyController.
- */
-
- /*
- * Map fdr_return_t to IOReturn.
- */
- IOReturn fdrToIo(fd_return_t fdr);
-
- /*
- * Allocate and free fdIoReq's.
- */
- fdIoReq_t *allocFdIoReq();
- void freeFdIoReq(fdIoReq_t *fdIoReq);
-
- /*
- * Allocate some well-aligned memory. *freePP is what has to be IOFree()'d
- * eventually; *freecnt is the size arg to IOFree. The return value is the
- * well-aligned pointer.
- */
- void *floppyMalloc(int size,
- void **freePP,
- int *freecnt);
-
- #endif _BSD_DEV_FLOPPY_CNT_PUBLIC_H_
-
-